import 'dart:math';

import 'package:flutter/material.dart';

class RandomColor{

  factory RandomColor() => getInstance();

  static RandomColor instance;
  static RandomColor getInstance(){
    if(instance == null){
      instance = RandomColor._init();
    }
    return instance;
  }

  List<Color> colors;

  RandomColor._init(){
    init();
  }

  init(){
    colors = List();
    colors.add(Colors.red);
    colors.add(Colors.redAccent);
    colors.add(Colors.redAccent);
    colors.add(Colors.green);
    colors.add(Colors.greenAccent);
    colors.add(Colors.orange);
    colors.add(Colors.orangeAccent);
    colors.add(Colors.deepOrange);
    colors.add(Colors.deepOrangeAccent);
    colors.add(Colors.pink);
    colors.add(Colors.pinkAccent);
    colors.add(Colors.blue);
    colors.add(Colors.blueAccent);
    colors.add(Colors.lightBlue);
    colors.add(Colors.purple);
    colors.add(Colors.purpleAccent);
    colors.add(Colors.deepPurple);
    colors.add(Colors.deepPurpleAccent);
    colors.add(Colors.yellow);
    colors.add(Colors.yellowAccent);
    colors.add(Colors.black12);
    colors.add(Colors.cyan);
    colors.add(Colors.indigoAccent);
    colors.add(Colors.teal);
    colors.add(Colors.tealAccent);
  }

  Color getRandomColor(){
    Color color;
    if(colors != null && colors.isNotEmpty){
      int length = colors.length;
      Random random = Random();
      int index = random.nextInt(length-1);
      color = colors.elementAt(index);
    }
    return color;
  }
}